/*
 * Toolset.cpp
 *
 *  Created on: Mar 24, 2011
 *      Author: hxu
 *      Universal tools
 */

#include"Toolset.h"
#include<cmath>
#include<cstdlib>

using namespace std;

namespace Txuh{

int str2int(const std::string & str1){
	int n1;
	n1 = std::atoi(str1.c_str());
	return n1;
}

double str2double(const std::string & str1){
	double n1;
	n1 = std::atof(str1.c_str());
	return n1;
}

int round(const double& num){
	return int(floor(num+0.5));
}

//void extractPar(std::ifstream& fs){
//	// extract parameters from file stream
//	string linestr;
//
//	while (fs.eof() == 0) {
//		// parse each line
//		getline(fs, linestr);
//		parseLine(linestr);
//	}
//}
//
//void parseLine(string& strline){
//	// parse a line
//
//	if(strline.empty())
//		return;
//
//	istringstream sstr(strline);
//	string str1, str2;
//	sstr >> str1;
//	sstr >> str2;
//
//	// translate parameters
//	if (str1 == "IFILENAME") {
//		IFILENAME = str2;
//	} else if (str1 == "TREENODECNT") {
//		int a = str2int(str2);
//		TREENODECNT = a;
//	} else if (str1 == "TSVBOUND") {
//		int a = str2int(str2);
//		TSVBOUND = a;
//	} else if (str1 == "SRCZ") {
//		int a = str2int(str2);
//		SRCZ = a;
//	} else if (str1 == "BUFR") {
//		double a = str2double(str2);
//		BUFR = a;
//	} else if (str1 == "BUFC") {
//		double a = str2double(str2);
//		BUFC = a;
//	} else if (str1 == "BUFD") {
//		double a = str2double(str2);
//		BUFD = a;
//	} else if (str1 == "WIRER") {
//		double a = str2double(str2);
//		WIRER = a;
//	} else if (str1 == "WIREC") {
//		double a = str2double(str2);
//		WIREC = a;
//	} else if (str1 == "TSVR") {
//		double a = str2double(str2);
//		TSVR = a;
//	} else if (str1 == "TSVC") {
//		double a = str2double(str2);
//		TSVC = a;
//	} else if (str1 == "BUFLOAD") {
//		double a = str2double(str2);
//		BUFLOAD = a;
//	}
//
//}

int get_manh_dist(const int x1, const int y1, const int x2, const int y2){
	// get manhattan distance
	int d = abs(x1-x2)+abs(y1-y2);
	return d;
}

}
